A typical set-top terminal (STT) operating in a cable network regularly generates and transmits data of various types to the cable operator's headend facility. For example, an STT may generate and transmit to the headend facility data pertaining to user commands. This sort of data may include data reflecting channel changes in the context of regular cable television programming, or, alternatively, data pertaining to user commands such as “play,” “pause,” and “rewind” in the context of a video-on-demand service. An STT may also generate diagnostic data indicating various aspects of the performance of the cable network or of the STT itself.
Often these types of data are sent to the headend facility, where the cable operator collects and organizes the data for various purposes. Many cable operators regularly collect information pertaining to users' channel preferences in order to monitor the popularity of various television shows or to observe viewing habits or other behavior patterns among users. Operators naturally use diagnostic data to monitor and maintain the performance of the cable network and of the various STTs in the network.
Because of network bandwidth limitations, a typical STT cannot send all the data it generates to the cable operator's headend facility in “real-time,” i.e., instantaneously. Instead, a typical STT prioritizes the various types of data it generates, sending selected items of data to the headend facility in real-time, while accumulating other data items for transmission at such times as between 2 a.m. and 6 a.m. when the upstream data traffic to the headend facility is typically scarce.
For example, data concerning “play,” “pause,” “rewind” and “fast-forward” commands initiated by a VOD user is typically transmitted to the headend facility in real-time to enable the user to instantly manipulate a video presentation. On the other hand, statistical data concerning program channel changes, STT on/off, or other user viewing habit or behavior pattern is accorded a lower priority, and is typically stored in an STT memory and transmitted at a later, convenient time to the headend facility. The diagnostic data generated by an STT may also be collected and transmitted to the headend facility at a later time.
However, in many cases the headend facility receives the non-real-time (NRT) data only after a significant delay, which is undesirable. In addition, the capacity of the STT memory for storing the NRT data is limited and, because of the significant delay, may overflow before the STT has an opportunity to send the data to the headend facility, which is also undesirable.